<?php

class Productos extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->library(array(
            'session',
            'form_validation'
        ));
        $this->load->helper(array(
            'url'
        ));
        $this->load->model(array(
            'productos_model',
            'log_model'
        ));
    }
    
    public function index() {
        $session = $this->session->all_userdata();
        if(empty($session['SID'])) {
            redirect('/usuarios/login/', 'refresh');
        }
        
        $data['productos'] = $this->productos_model->gets();
        
        $data['title'] = 'Productos';
        $data['activo'] = 'productos';
        $this->load->view('layout/header', $data);
        $this->load->view('layout/menu');
        $this->load->view('productos/index');
        $this->load->view('layout/footer');
    }
    
    public function agregar() {
        $session = $this->session->all_userdata();
        if(empty($session['SID'])) {
            redirect('/usuarios/login/', 'refresh');
        }
        
        $this->form_validation->set_rules('producto', 'Producto', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $datos = array(
                'producto' => $this->input->post('producto')
            );
            
            $id = $this->productos_model->set($datos);
            
            $log = array(
                'idusuario' => $session['SID'],
                'tabla' => 'productos',
                'iddelatabla' => 'idproducto',
                'idtabla' => $id,
                'texto' => 'Se agregó el producto: '.$this->input->post('producto')
            );
            
            $this->log_model->set($log);
            
            redirect('/productos/', 'refresh');
        }
        
        $data['title'] = 'Agregar Producto';
        $data['activo'] = 'productos';
        $this->load->view('layout/header', $data);
        $this->load->view('layout/menu');
        $this->load->view('productos/agregar');
        $this->load->view('layout/footer');
    }
    
    public function editar($idproducto) {
        $session = $this->session->all_userdata();
        if(empty($session['SID'])) {
            redirect('/usuarios/login/', 'refresh');
        }
        
        $this->form_validation->set_rules('producto', 'Producto', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $datos = array(
                'producto' => $this->input->post('producto')
            );
            
            $id = $this->productos_model->update($datos, $idproducto);
            
            $log = array(
                'idusuario' => $session['SID'],
                'tabla' => 'productos',
                'iddelatabla' => 'idproducto',
                'idtabla' => $idproducto,
                'texto' => 'Se modificó el producto: '.$this->input->post('producto')
            );
            
            $this->log_model->set($log);
            
            redirect('/productos/', 'refresh');
            
        }
        
        $data['producto'] = $this->productos_model->get($idproducto);
        $data['log'] = $this->log_model->get('productos', 'idproducto', $idproducto);
        
        $data['title'] = 'Editar Producto';
        $data['activo'] = 'productos';
        $this->load->view('layout/header', $data);
        $this->load->view('layout/menu');
        $this->load->view('productos/editar');
        $this->load->view('layout/footer');
    }
}
?>
